Interface Building for Software by Modular Three-Valued Abstraction Refinement
نویسنده
چکیده
Verification of software systems is a very hard problem due to the large size of program state-space. The traditional techniques (like model checking) do not scale; since they include the whole state-space by inlining the library function codes. Current research avoids these problem by creating a lightweight representation of the library in form of an interface graph (call sequence graph). In this paper we introduce a new algorithm to compute a safe, permissive interface graph for C-type functions. In this modular analysis, each function transition is summarized following three-valued abstraction semantics. There are two kinds of abstraction used here. The global abstraction contains predicates over global variables only; however the local abstraction inside each function may also contain the local variables. The abstract summary needs refinement to guarantee safety and permissiveness. We have implemented the algorithms in TICC tool and compared this algorithm with some related interface generation algorithms. We also discuss the application of interface as an offline test-suite. We create an interface from the model program (specification) and the interface will act as a test-suite for the new implementation-under-test (IUT).
منابع مشابه
A Logical Basis for Component-Based Systems Engineering
In a systematic development of distributed interactive software systems composed of components we work with a basic system model and description techniques providing specific views and abstractions of systems such as • the interface view, • the distribution view, and • the state transition view. Each of these views is helpful and has its place in the systems development process. We show how to ...
متن کاملProtocol Design Concepts, IP and Routing
Protocols are complex, distributed pieces of software. Abstraction and modular design are standard techniques used by software engineers to deal with complexity. By abstraction, we mean that a subset of functions is carefully chosen and setup as a “blackbox” or module (see Figure 1). The module has an interface describing its input/output behavior. The interface outlives the implementation the ...
متن کاملThree-Valued Spotlight Abstractions
Spotlight abstractions in verification focus on one specific component in a parallel system while disregarding most information about the rest. Existing spotlight abstractions are either based on overor on underapproximations of the parallel system, thus either preserving existential or universal properties. In this paper we present three-valued spotlight abstractions for parallel systems which...
متن کاملLightweight Specialized 3-Valued Logic Shape Analyzer
We describe the design and implementation of a specialized shape analysis tool based on 3-valued logic. Our analyzer can reason about programs manipulating recursive data structures, such as singlyand doubly-linked lists, yielding precise results that are comparable to those of the wellknown reference implementation, in only a fraction of the time. In particular, (a) we apply a new and effectiv...
متن کاملThread-Modular Counterexample-Guided Abstraction Refinement
We consider the refinement of a static analysis method called thread-modular verification. It was an open question whether such a refinement can be done automatically. We present a counterexampleguided abstraction refinement algorithm for thread-modular verification and demonstrate its potential, both theoretically and practically.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1004.5382 شماره
صفحات -
تاریخ انتشار 2008